package com.ehotting.edsta.circuitDesign.domain;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import com.ehotting.edsta.circuitDesign.bean.AllMapBean;
import com.ehotting.edsta.circuitDesign.enums.SignalTypeEnum;
import com.ehotting.edsta.circuitDesign.enums.StateTypeEnum;
import com.ehotting.edsta.circuitDesign.enums.StorageTypeEnum;
import com.ehotting.eaf.core.annotation.Excel;
import com.ehotting.eaf.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;


/**
 * 电路对象 es_circuit
 * 
 * @author edsta
 * @date 2023-05-05
 */
public class EsCircuit extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 电路类型编号 */
    private Long circuitTypeId;

    private EsCircuitType circuitType;

    /** 名称 */
    @Excel(name = "名称")
    private String name;

    /** 可用状态(1:是0:否) */
    @Excel(name = "可用状态(1:是0:否)")
    private StateTypeEnum state;

    @Excel(name = "采集类型")
    private SignalTypeEnum signalType;

    @Excel(name = "存储类型")
    private StorageTypeEnum storageType;


    /** 插入时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "插入时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date insertTime;

    /** 用户编号 */
    @Excel(name = "用户编号")
    private Long userId;

    /** 模板工程地址 */
    @Excel(name = "模板工程地址")
    private String projectPath;

    /** 缩略图地址 */
    @Excel(name = "缩略图地址")
    private String thumbnailPath;

    /** 方案封面图地址 */
    @Excel(name = "方案封面图地址")
    private String thumbPath;

    /** 图表地址 */
    @Excel(name = "图表地址")
    private String chartsPath;

    /** 图表地址 */
    @Excel(name = "bom表地址")
    private String bomPath;

    /** 网络替换表地址 */
    @Excel(name = "网络替换表地址")
    private String netPath;

    /** 位号替换表地址 */
    @Excel(name = "位号替换表地址")
    private String designatorsPath;

    /** 描述 */
    @Excel(name = "描述")
    private String description;

    /** 存储容量，单位B */
    @Excel(name = "存储容量")
    private Long storageCapacity;

    private Map<String,Object> prop = new HashMap<>();

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public Long getCircuitTypeId() {
        return circuitTypeId;
    }

    public void setCircuitTypeId(Long circuitTypeId) {
        this.circuitTypeId = circuitTypeId;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setState(StateTypeEnum state)
    {
        this.state = state;
    }

    public StateTypeEnum getState()
    {
        return state;
    }
    public void setInsertTime(Date insertTime) 
    {
        this.insertTime = insertTime;
    }

    public Date getInsertTime() 
    {
        return insertTime;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public String getProjectPath() {
        return projectPath;
    }

    public void setProjectPath(String projectPath) {
        this.projectPath = projectPath;
    }

    public String getThumbnailPath() {
        return thumbnailPath;
    }

    public void setThumbnailPath(String thumbnailPath) {
        this.thumbnailPath = thumbnailPath;
    }

    public String getThumbPath() {
        return thumbPath;
    }

    public void setThumbPath(String thumbPath) {
        this.thumbPath = thumbPath;
    }

    public String getChartsPath() {
        return chartsPath;
    }

    public void setChartsPath(String chartsPath) {
        this.chartsPath = chartsPath;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }


    public String getBomPath() {
        return bomPath;
    }

    public void setBomPath(String bomPath) {
        this.bomPath = bomPath;
    }

    public EsCircuitType getCircuitType() {
        return circuitType;
    }

    public void setCircuitType(EsCircuitType circuitType) {
        this.circuitType = circuitType;
    }

    public SignalTypeEnum getSignalType() {
        return signalType;
    }

    public void setSignalType(SignalTypeEnum signalType) {
        this.signalType = signalType;
    }

    public String getNetPath() {
        return netPath;
    }

    public void setNetPath(String netPath) {
        this.netPath = netPath;
    }

    public String getDesignatorsPath() {
        return designatorsPath;
    }

    public void setDesignatorsPath(String designatorsPath) {
        this.designatorsPath = designatorsPath;
    }

    public StorageTypeEnum getStorageType() {
        return storageType;
    }

    public void setStorageType(StorageTypeEnum storageType) {
        this.storageType = storageType;
    }

    public Long getStorageCapacity() {
        return storageCapacity;
    }

    public void setStorageCapacity(Long storageCapacity) {
        this.storageCapacity = storageCapacity;
    }

    public Map<String, Object> getProp() {
        return prop;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("circuitTypeId", getCircuitTypeId())
                .append("name", getName())
                .append("state", getState())
                .append("signalType", getSignalType())
                .append("insertTime", getInsertTime())
                .append("userId", getUserId())
                .append("projectPath", getProjectPath())
                .append("thumbnailPath", getThumbnailPath())
                .append("thumbPath", getThumbPath())
                .append("chartsPath", getChartsPath())
                .append("bomPath", getBomPath())
                .append("netPath", getNetPath())
                .append("designatorsPath", getDesignatorsPath())
                .append("description", getDescription())
                .toString();
    }
}
